Typically large racks are used to hold multiple computer systems. Generally, a user needs tools and time to place a computer system into such a rack, or to remove a computer system. It is desirable to provide structures for holding computer systems, to provide structures for the computer systems themselves that allow the computers to be more efficiently placed into and/or removed from a rack, or to meet necessary density requirements.
As the size and complexity of software grows, the ability of a single computer to handle all of the requirements associated with the software diminishes. One way to handle these increasingly complex software systems is to use a group of computers working together. A group of computers working together in a distributed computer system is referred to as a cluster. Computer clusters are an increasingly popular alternative to more traditional computer architectures and supercomputers.
The trend in high-performance computing is to move away from specialized platforms, such as mainframes or shared-memory supercomputers, to computer clusters—general purpose systems consisting of loosely coupled components built up from single or multi-processor workstations or PCs. This approach has a number of advantages including that of being able to build a platform at a reasonable cost when compared to the alternatives.
Each individual computer of the cluster is referred to as a node. Nodes of a cluster work together as a single entity or in groups to cooperatively provide processing power and mass storage.
The nodes are interconnected to provide a single computing system. With the distributed computing system of a cluster, the processing load is spread over more than one computer, which may eliminate points of failure that could cause a single computer to abort execution.
Advances in computer networking and microprocessor performance are making clustering an appealing vehicle for cost effective parallel computing. Clusters built using relatively inexpensive hardware and software components are playing a major role in redefining the concept of supercomputing.
It should be understood that groups of computers are not necessarily part of a cluster, but may simply be grouped together for some other reason. For example, many web site hosting providers have multiple computers close together that are hosting the web sites of various companies. These computers are usually close together because they are at the same location and to make it easier to support and maintain the computers. Thus, although groups of computers working together in a distributed computing system are referred to as a cluster, a group of computers together does not necessarily mean that the computers are part of a cluster.